As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to technologies such as cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A customer typically will rent, lease, or otherwise pay for access to resources through the cloud, such that the customer does not have to purchase and maintain the hardware and/or software to provide access to these resources. Many cloud computing providers utilize virtualization to allow multiple users to share the underlying hardware and/or software resources. Virtualization can allow computing servers, storage device or other resources to be partitioned into multiple isolated instances (e.g., virtual machines) that are each owned by a particular user. Conventionally, many customers utilize a configuration service that resides within the instance to perform various functions that modify the behavior of the instance. A potential disadvantage to such an approach, at least from a customer point of view, is that some of these functions trigger reboots, which cause an increase in boot time, costing the customer time and money. Accordingly, it can be desirable to provide additional control for modifying the behavior of the instance. Unfortunately, conventional provisioning and virtualization approaches are restricted in the functionality that can be provided.